package com.yifei.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifei.model.bo.system.UserBO;
import com.yifei.model.bo.system.UserFromBO;
import com.yifei.model.dto.auth.UserAuthInfo;
import com.yifei.model.entity.system.SysUser;
import com.yifei.model.query.system.UserPageQuery;
import org.apache.ibatis.annotations.Param;

/**
 * 用户信息表(SysUser)表数据库访问层
 *
 * @author yiFei
 * @since 2023-09-23 20:56:10
 */
public interface SysUserMapper extends BaseMapper<SysUser> {
    /**
     * 根据用户名获取认证信息
     *
     * @param username 用户名
     * @return 认证信息
     */
    UserAuthInfo getUserAuthInfo(String username);

    /**
     * 获取用户分页列表
     *
     * @param page        分页
     * @param queryParams 查询参数
     * @return 用户分页列表
     */
    Page<UserBO> getUserPage(@Param("page") IPage<UserBO> page, @Param("queryParams") UserPageQuery queryParams);

    /**
     * 获取用户详情
     *
     * @param userId 用户id
     * @return 用户表单数据
     */
    UserFromBO getUserDetail(Long userId);
}

